Rapid convolution based large deformation image matching via landmark and volume imagery

ABSTRACT

An apparatus and method for image registration of a template image with a target image with large deformation. The apparatus and method involve computing a large deformation transform based on landmark manifolds, image data or both. The apparatus and method are capable of registering images with a small number of landmark points. Registering the images is accomplished by applying the large deformation transform.

This is a continuation of application Ser. No. 09/186,359 filed Nov. 5, 1998 which is now U.S. Pat. No. 6,226,418 issued May 1, 2001, which is a continuation-in-part of patent application Ser. No. 08/678,628 filed on Jul. 10, 1996, which is now U.S. Pat. No. 6,009,212 issued Dec. 28, 1999 and claims priority to U.S. provisional application No. 60/064,615 filed Nov. 7, 1997 and incorporate the reference herein.

This work was supported in part by the following U.S. Government grants: NIH grants RR01380 and R01-MH52138-01A1 and ARO grant DAAL-03-86-K-0110. The U.S. Government may have certain rights in the invention.

TECHNICAL FIELD

The present invention relates to image processing systems and methods, and more particularly to image registration systems that combine two or more images into a composite image in particular the fusion of anatomical manifold based knowledge with volume imagery via large deformation mapping which supports both kinds of information simultaneously, as well as individually, and which can be implemented on a rapid convolution FFT based computer system.

BACKGROUND ART

Image registration involves combining two or more images, or selected points from the images, to produce a composite image containing data from each of the registered images. During registration, a transformation is computed that maps related points among the combined set of landmarks in each of the images that are to be registered. For example, when registering two MRI images of different axial slices of a human head, a physician may label points, or a contour surrounding these points, corresponding to the cerebellum in two images. The two images are then registered by relying on a known relationship among the landmarks in the two brain images. The mathematics underlying this registration process is known as small deformation multi-target registration.

In the previous example of two brain images being registered, using a purely operator-driven approach, a set of N landmarks identified by the physician, represented by x, where i=1 . . . N, are defined within the two brain coordinate systems. A mapping relationship, mapping the N points selected in one image to the corresponding N points in the other image, is defined by the equation u(x_(i))=k_(i), where i=1 . . . N. Each of the coefficients, k_(i), is assumed known.

The mapping relationship u(x) is extended from the set of N landmark points to the continuum using a linear quadratic form regularization optimization of the equation:

$\begin{matrix} {u = {\arg \quad {\min\limits_{u}{\int{{Lu}}^{2}}}}} & (1) \end{matrix}$

subject to the boundary constraints u(x_(i))=k_(i),. The operator L is a linear differential operator. This linear optimization problem has a closed form solution. Selecting L=α∇²+β∇(∇·) gives rise to small deformation elasticity.

For a description of small deformation elasticity see S. Timoshenko, Theory of Elasticity, McGraw-Hill, 1934 (hereinafter referred to as Timoshenko) and R. L. Bisplinghoff, J. W. Marr, and T. H. H. Pian, Statistics of Deformable Solids, Dover Publications, Inc., 1965 (hereinafter referred to as Bisplinghoff). Selecting L=∇² gives rise to a membrane or Laplacian model. Others have used this operator in their work, see e.g., Amit, U. Grenander, and M. Piccioni, “Structural image restoration through deformable templates,” J. American Statistical Association. 86(414):376-387, June 1991, (hereinafter referred to as Amit) and R. Szeliski, Bayesian Modeling of Uncertainty in Low-Level Vision, Kluwer Academic Publisher, Boston, 1989 (hereinafter referred to as Szeliski) (also describing a bi-harmonic approach). Selecting L=∇⁴ gives a spline or biharmonic registration method. For examples of applications using this operator see Grace Wahba, “Spline Models for Observational Data,” Regional Conference Series in Applied Mathematics. SIAM, 1990, (hereinafter referred to as Whaba) and F. L. Bookstein, The Measurement of Biological Shape and Shape Change, volume 24, Springer-Verlag: Lecture Notes in Biomathematics, New York, 1978 (hereinafter referred to as Bookstein).

The second currently-practiced technique for image registration uses the mathematics of small deformation multi-target registration and is purely image data driven. Here, volume based imagery is generated of the two targets from which a coordinate system transformation is constructed. Using this approach, a distance measure, represented by the expression D(u), represents the distance between a template T(x) and a target image S(x). The optimization equation guiding the registration of the two images using a distance measure is:

$\begin{matrix} {u = {{\arg \quad {\min\limits_{u}{\int{{Lu}}^{2}}}} + {D(u)}}} & (2) \end{matrix}$

The distance measure D(u) measuring the disparity between imagery has various forms, e.g., the Gaussian squared error distance ∫|T(h(x))−S(x)|²dx, a correlation distance, or a Kullback Liebler distance. Registration of the two images requires finding a mapping that minimizes this distance.

Other fusion approaches involve small deformation mapping coordinates xεΩ of one set of imagery to a second set of imagery. Other techniques include the mapping of predefined landmarks and imagery, both taken separately such as in the work of Bookstein, or fused as covered via the approach developed by Miller-Joshi-Christensen-Grenander the '212 patent described in U.S. Pat. No. 6,009,212 (hereinafter “the '212 patent”) herein incorporated by reference mapping coordinates xεΩ of one target to a second target. The existing state of the art for small deformation matching can be stated as follows:

Small Deformation Matching: Construct h(x)=x−u(x) according to the minimization of the distance D(u) between the template and target imagery subject to the smoothness penalty defined by the linear differential operator L: $\begin{matrix} {{h( \cdot )} = {{{\cdot {- {u( \cdot )}}}\quad {where}\quad \hat{u}} = {{\arg {\min\limits_{u}{\int{{Lu}}^{2}}}} + {\sum\limits_{i = 1}^{N}{{D(u)}.}}}}} & (3) \end{matrix}$

The distance measure changes depending upon whether landmarks or imagery are being matched.

1. Landmarks alone. The first approach is purely operator driven in which a set of point landmarks x_(i), i=1, . . . N are defined within the two brain coordinate systems by, for example, an anatomical expert, or automated system from which the mapping is assumed known: u(x_(i))=k_(i), i=1, . . . , N. The field u(x) specifying the mapping h is extended from the set of points {x_(i)} identified in the target to the points {y_(i)} measured with Gaussian error co-variances Σ_(i): $\begin{matrix} {\hat{u} = {{\arg {\min\limits_{u}{\int{{Lu}}^{2}}}} + {\sum\limits_{i = 1}^{N}{\left( {y_{i} - x_{i} - {u\left( x_{i} \right)}} \right)^{t}{\sum^{- 1}\left( {y_{i} - x_{i} - {u\left( x_{i} \right)}} \right)^{T}}}}}} & (4) \end{matrix}$

Here (·)^(r) denotes transpose of the 3×1 real vectors, and L is a linear differential operator giving rise to small deformation elasticity (see Timoshenko and Bisplinghoff), the membrane of Laplacian model (see Amit and Szeliski), bi-harmonic (see Szeliski), and many of the spline methods (see Wahba and Bookstein). This is a linear optimization problem with closed form solution.

2. The second approach is purely volume image data driven, in which the volume based imagery is generated of the two targets from which the coordinate system transformation is constructed. A distance measure between the two images being registered I₀, I₁ is defined as D(u)=∫|I₀(x−u(x))−I₁(x)|²dx. The corresponding optimization is: $\begin{matrix} {{{h( \cdot )} = {\cdot {- {u( \cdot )}}}}{where}\quad {u = {{\arg \quad {\min\limits_{u}{\int{{Lu}}^{2}}}} + {\int{{{{I_{0}\left( {x - {u(x)}} \right)} - {I_{1}(x)}}}^{2}{{x}.}}}}}} & (5) \end{matrix}$

The data function D(u) measures the disparity between imagery and various forms. Other distances are used besides just the Gaussian squared error distance, including correlation distance, Kullback Liebler distance, and others.

3. The algorithm for the transformation of imagery I₀ into imagery I₁ has landmark and volume imagery fused in the small deformation setting as in the '212 patent. Both sources of information are combined into the small deformation registration: $\begin{matrix} {u = {{\arg {\min\limits_{u}{\int{{Lu}}^{2}}}} + {D(u)} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} - {u\left( x_{i} \right)}}}^{2}}{\sigma_{1}^{2}}}}} & (6) \end{matrix}$

Although small deformation methods provide geometrically meaningful deformations under conditions where the imagery being matched are small, linear, or affine changes from one image to the other. Small deformation mapping does not allow the automatic calculation of tangents, curvature, surface areas, and geometric properties of the imagery. To illustrate the mapping problem, FIG. 9 shows an oval template image with several landmarks highlighted. FIG. 10 shows a target image that is greatly deformed from the template image. The target image is a largely deformed oval that has been twisted. FIG. 11 shows the results of image matching when the four corners are fixed, using small deformation methods based on static quadratic form regularization. These Figures illustrate the distortion which occurs with small deformation linear mapping when used with landmark points which define a motion corresponding to large deformation. As can be seen in FIG. 11, landmarks defined in the template image often map to more than one corresponding point in the target image.

Large deformation mapping produces maps for image registration in which the goal is to find the one-to-one, onto, invertible, differentiable maps h (henceforth termed diffeomorphisms) from the coordinates xεΩ of one target to a second target under the mapping

h:x→h(x)=x−u(x), xεΩ  (7)

To accommodate very fine variations in anatomy the diffeomorphic transformations constructed are of high dimensions having, for example a dimension greater than 12 of the Affine transform up-to the order of the number of voxels in the volume. A transformation is diffeomorphic if the transformation from the template to the target is one-to-one, onto, invertible, and both the transformation and it's inverse are differentiable. A transformation is said to be one-to-one if no two distinct points in the template are mapped to the same point in the target. A transformation is said to be onto if every point in the target is mapped from a point in the template. The importance of generating diffeomorphisms is that tangents, curvature, surface areas, and geometric properties of the imagery can be calculated automatically. FIG. 12 illustrates the image mapping illustrated in FIG. 11 using diffeomorphic transformation.

SUMMARY OF THE INVENTION

The present invention overcomes the limitations of the conventional techniques of image registration by providing a methodology which combines, or fuses, some aspects of techniques where an individual with expertise in the structure of the object represented in the images labels a set of landmarks in each image that are to be registered and techniques that use the mathematics of small deformation multi-target registration, which is purely image data driven. An embodiment consistent with the present invention uses landmark manifolds to produce a coarse registration, and subsequently incorporates image data to complete a fine registration of the template and target images.

Additional features and advantages of the invention will be set forth in the description which follows, and in part, will be apparent from the description, or may be learned by practicing the invention. The embodiments and other advantages of the invention will be realized and obtained by the method and apparatus particularly pointed out in the written description and the claims hereof as well as in the appended drawings.

To achieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described, a method according to the invention for registering a template image and a target image comprises several steps, including defining manifold landmark points in the template image and identifying points in the target image corresponding to the defined manifold landmark points. Once these points have been identified, the method includes the steps of computing a transform relating the defined manifold landmark points in the template image to corresponding points in the target image; fusing the first transform with a distance measure to determine a second transform relating all points within a region of interest in the target image to the corresponding points in the template image; and registering the template image with the target image using this second transform.

Therefore it is another embodiment of the present invention to provide a new framework for fusing the two separate image registration approaches in the large deformation setting. It is a further embodiment of the large deformation method to allow for anatomical and clinical experts to study geometric properties of imagery alone. This will allow for the use of landmark information for registering imagery. Yet another embodiment consistent with the present invention allows for registration based on image matching alone. Still another embodiment consistent with the present invention combines these transformations which are diffeomorphisms and can therefore be composed.

An embodiment consistent with the present invention provides an efficient descent solution through the Lagrangian temporal path space-time solution of the landmark matching problem for situations when there are small numbers of landmarks N<<[Ω], reducing the Ω×T dimensional optimization to N, T-dimensional optimizations.

Another embodiment consistent with the present invention provides an efficient FFT based convolutional implementation of the image matching problem in Eulerian coordinates converting the optimization from real-valued functions on Ω×T to [T] optimizations on Ω.

To reformulate the classical small deformation solutions of the image registrations problems as large deformation solutions allowing for a precise algorithmic invention, proceeding from low-dimensional landmark information to high-dimensional volume information providing maps, which are one-to-one and onto, from which geometry of the image substructures may be studied. As the maps are diffeomorphisms, Riemannian lengths on curved surfaces, surface area, connected volume measures can all be computed guaranteed to be well defined because of the diffeomorphic nature of the maps.

It is also an embodiment consistent with the invention to introduce periodic and stationary properties into the covariance properties of the differential operator smoothing so that the solution involving inner-products can be implemented via convolutions and Fast Fourier transforms thus making the fusion solution computationally feasible in real time on serial computers

Both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings provide a further understanding of the invention. They illustrate embodiments of the invention and, together with the description, explain the principles of the invention.

FIG. 1 is a target and template image of an axial section of a human head with 0-dimensional manifolds;

FIG. 2 is schematic diagram illustrating an apparatus for registering images in accordance with the present invention;

FIG. 3 is a flow diagram illustrating the method of image registration according to the present invention;

FIG. 4 is a target and a template image with 1-dimensional manifolds;

FIG. 5 is a target and a template image with 2-dimensional manifolds;

FIG. 6 is a target and a template image with 3-dimensional manifolds;

FIG. 7 is sequence of images illustrating registration of a template and target image; and

FIG. 8 is a flow diagram illustrating the computation of a fusing transform;

FIG. 9 is an oval template image which has landmark points selected and highlighted;

FIG. 10 is a deformed and distorted oval target image with corresponding landmark points highlighted and selected;

FIG. 11 is an image matching of the oval target and template images; and

FIG. 12 is an image matching using diffeomorphism.

DETAILED DESCRIPTION OF THE INVENTION

1. Method for Image Registration Using Both Landmark Based knowledge and Image Data

A method and system is disclosed which registers images using both landmark based knowledge and image data. Reference will now be made in detail to the present preferred embodiment of the invention, examples of which are illustrated in the accompanying drawings.

To illustrate the principles of this invention, FIG. 1 shows two axial views of a human head. In this example, template image 100 contains points 102, 104, and 114 identifying structural points (0-dimensional landmark manifolds) of interest in the template image. Target image 120 contains points 108, 110, 116, corresponding respectively to template image points 102, 104, 114, via vectors 106, 112, 118, respectively.

FIG. 2 shows apparatus to carry out the preferred embodiment of this invention. A medical imaging scanner 214 obtains the images show in FIG. 1 and stores them on a computer memory 206 which is connected to a computer central processing unit (CPU) 204. One of ordinary skill in the art will recognize that a parallel computer platform having multiple CPUs is also a suitable hardware platform for the present invention, including, but not limited to, massively parallel machines and workstations with multiple processors. Computer memory 206 can be directly connected to CPU 204, or this memory can be remotely connected through a communications network.

Registering images 100, 120 according to the present invention, unifies registration based on landmark deformations and image data transformation using a coarse-to-fine approach. In this approach, the highest dimensional transformation required during registration is computed from the solution of a sequence of lower dimensional problems driven by successive refinements. The method is based on information either provided by an operator, stored as defaults, or determined automatically about the various substructures of the template and the target, and varying degrees of knowledge about these substructures derived from anatomical imagery, acquired from modalities like CT, MRI, functional MRI, PET, ultrasound, SPECT, MEG, EEG, or cryosection.

Following this hierarchical approach, an operator, using pointing device 208, moves cursor 210 to select points 102, 104, 114 in FIG. 1, which are then displayed on a computer monitor 202 along with images 100, 120. Selected image points 102, 104, and 114 are 0-dimensional manifold landmarks.

Once the operator selects manifold landmark points 102, 104, and 114 in template image 100, the operator identifies the corresponding template image points 108, 110, 116.

Once manifold landmark selection is complete, CPU 204 computes a first transform relating the manifold landmark points in template image 100 to their corresponding image points in target image 120. Next, a second CPU 204 transform is computed by fusing the first transform relating selected manifold landmark points with a distance measure relating all image points in both template image 100 and target image 120. The operator can select an equation for the distance measure several ways including, but not limited to, selecting an equation from a list using pointing device 208, entering into CPU 204 an equation using keyboard 212, or reading a default equation from memory 206. Registration is completed by CPU 204 applying the second computed transform to all points in the template image 100.

Although several of the registration steps are described as selections made by an operator, implementation of the present invention is not limited to manual selection. For example, the transforms, boundary values, region of interest, and distance measure can be defaults read from memory or determined automatically.

FIG. 3 illustrates the method of this invention in operation. First an operator defines a set of N manifold landmark points x_(i,) where i=1, . . . , N, represented by the variable M, in the template image (step 300). These points should correspond to points that are easy to identify in the target image.

Associated with each landmark point, x_(i), in the template image, is a corresponding point y_(i) in the target image. The operator therefore next identifies the corresponding points, y_(i), in the target image are identified (step 310). The nature of this process means that the corresponding points can only be identified within some degree of accuracy. This mapping between the template and target points can be specified with a resolution having a Gaussian error of variance σ².

If a transformation operator has not been designated, the operator can choose a manifold landmark transformation operator, L, for this transformation computation. In this embodiment, the Laplacian $\left( {\nabla{= {\frac{\partial^{2}}{\partial x_{1}^{2}} + \frac{\partial^{2}}{\partial x_{2}^{2}} + \frac{\partial^{2}}{\partial x_{3}^{2}}}}} \right)$

is used for the operator L. Similarly, the operator can also select boundary values for the calculation corresponding to assumed boundary conditions, if these values have not been automatically determined or stored as default values. Here, infinite boundary conditions are assumed, producing the following equation for K, where K(x,x_(i)) is the Green's function of a volume landmark transformation operator L² (assuming L is self-adjoint): $\begin{matrix} {{K\left( {x,x_{i}} \right)} = \begin{bmatrix} {{x - x_{i}}} & 0 & 0 \\ 0 & {{x - x_{i}}} & 0 \\ 0 & 0 & {{x - x_{i}}} \end{bmatrix}} & (8) \end{matrix}$

Using circulant boundary conditions instead of infinite boundary conditions provides and embodiment suitable for rapid computation. One of ordinary skill in the art will recognize that other operators can be used in place of the Laplacian operator, such operators include, but are not limited to, the biharmonic operator, linear elasticity operator, and other powers of these operators.

In addition, the operator may select a region of interest in the target image. Restricting the computation to a relatively small region of interest reduces both computation and storage requirements because transformation is computed only over a subregion of interest. It is also possible that in some applications the entire image is the desired region of interest. In other applications, there may be default regions of interest that are automatically identified.

The number of computations required is proportional to the number of points in the region of interest, so the computational savings equals the ratio of the total number of points in the image to the number of points in the region of interest. The data storage savings for an image with N points with a region of interest having M points is a factor of N/M. For example, for a volume image of 256×256×256 points with a region of interest of 128×128×128 points, the computation time and the data storage are reduced by a factor of eight.

In addition, performing the computation only over the region of interest makes it necessary only to store a subregion, providing a data storage savings for the template image, the target image, and the transform values.

Following the identification of template manifold landmark points and corresponding points in the target image, as well as selection of the manifold transformation operator, the boundary values, and the region of interest, CPU 204 computes a transform that embodies the mapping relationship between these two sets of points (step 350). This transform can be estimated using Bayesian optimization, using the following equation: $\begin{matrix} {{\hat{u} = {{\arg {\min\limits_{u}{\int_{\Omega}{{Lu}}^{2}}}} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} + {u\left( x_{i} \right)}}}^{2}}{\sigma_{i}^{2}}}}},} & (9) \end{matrix}$

the minimizer, u, having the form $\begin{matrix} {{\hat{u}(x)} = {b + {Ax} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}}}} & (10) \end{matrix}$

where A is a 3×3 matrix, b=[b₁, b₂, b₃] is a 3×1 vector, └β_(i1),β_(i2),β_(i3)┘ is a 3×1 weighting vector.

The foregoing steps of the image registration method provide a coarse matching of a template and a target image. Fine matching of the images requires using the full image data and the landmark information and involves selecting a distance measure by solving a synthesis equation that simultaneously maps selected image landmarks in the template and target images and matches all image points within a region of interest. An example of this synthesis equation is: $\begin{matrix} \begin{matrix} {\hat{u} = \quad {{\arg {\min\limits_{u}{\gamma {\int_{\Omega}{{{{T\left( {x - {u(x)}} \right)} - {S(x)}}}^{2}{x}}}}}} +}} \\ {\quad {{\int_{\Omega}{{Lu}}^{2}} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} + {u\left( x_{i} \right)}}}^{2}}{\sigma_{i}^{2}}}}} \end{matrix} & (11) \end{matrix}$

here the displacement field u is constrained to have the form $\begin{matrix} {{u(x)} = {{\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}} + {Ax} + b}} & (12) \end{matrix}$

with the variables β_(i), A, and b, computed at step 350 in FIG. 3. The operator L in equation (11) may be the same operator used in equation (9), or alternatively, another operator may be used with a different set of boundary conditions. The basis functions φ are the eigen functions of operators such as the Laplacian Lu=∇²u, the bi-harmonic Lu=∇⁴u, linear elasticity Lu=α∇²u+(α=β)∇(∇·u), and powers of these operators L^(p) for p≧1.

One of ordinary skill in the art will recognize that there are many possible forms of the synthesis equation. For example, in the synthesis equation presented above, the distance measure in the first term measures the relative position of points in the target image with respect to points in the template image. Although this synthesis equation uses a quadratic distance measure, one of ordinary skill in the art will recognize that there are other suitable distance measures.

CPU 204 then computes a second or fusing transformation (Step 370) using the synthesis equation relating all points within a region of interest in the target image to all corresponding points in the template image. The synthesis equation is defined so that the resulting transform incorporates, or fuses, the mapping of manifold landmarks to corresponding target image points determined when calculating the first transform.

The computation using the synthesis equation is accomplished by solving a sequence of optimization problems from coarse to fine scale via estimation of the basis coefficients μ_(k). This is analogous to multi-grid methods, but here the notion of refinement from coarse to fine is accomplished by increasing the number of basis components d. As the number of basis functions increases, smaller and smaller variabilities between the template and target are accommodated. The basis coefficients are determined by gradient descent, i.e., $\begin{matrix} {\mu_{k}^{({n + 1})} = {\mu_{k}^{(n)} - {\Delta \quad \frac{\left. {{\partial{{H\left( u^{(n)} \right.}}}S} \right)}{\partial\mu_{k}}}}} & (13) \end{matrix}$

where $\begin{matrix} {\frac{\partial{H\left( u^{(n)} \right)}}{\partial\mu_{k}} = {{{- \gamma}{\int_{\Omega}{\left( {{T\left( {x - {u^{(n)}(x)}} \right)} - {S(x)}} \right){{\nabla{T\left( {x - {u^{(n)}(x)}} \right)}} \cdot {\phi_{k}(x)}}{x}}}} + {\lambda_{k}^{2}\mu_{k}^{(n)}} + {\left( {2\quad {\sum\limits_{i = 1}^{N}\frac{y_{i} - x_{i} + {u^{(n)}\left( x_{i} \right)}}{\sigma_{i}^{2}}}} \right) \cdot {\phi_{k}\left( x_{i} \right)}}}} & (14) \\ {{{and}\quad {u^{(n)}(x)}} = {{\sum\limits_{k = 0}^{d}{\mu_{k}^{(n)}{\phi_{k}(x)}}} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}} + {Ax} + b}} & (15) \end{matrix}$

also Δ is a fixed step size and λ_(k) are the eigenvalues of the eigenvectors φ_(k).

The computation of the fusion transformation (step 370) using the synthesis equation is presented in the flow chart of FIG. 8. Equation (12) is used to initialize the value of the displacement field u(x)=u⁽⁰⁾(x) (step 800). The basis coefficients μ_(k)=μ_(k) ⁽⁰⁾ are set equal to zero and the variables β_(i), A, and b are set equal to the solution of equation (11) (step 802). Equation (13) is then used to estimate the new values of the basis coefficients μ_(k) ^((n+1)) given the current estimate of the displacement field u^((n))(x) (step 804). Equation (15) is then used to compute the new estimate of the displacement field u^((n))(x) given the current estimate of the basis coefficients μ_(k) ^((n)) (step 806). The next part of the computation is to decide whether or not to increase the number d of basis functions φ_(k) used to represent the transformation (step 808). Increasing the number of basis functions allows more deformation. Normally, the algorithm is started with a small number of basis functions corresponding to low frequency eigen functions and then on defined iterations the number of frequencies is increased by one (step 810). This coarse-to-fine strategy matches larger structures before smaller structures. The preceding computations (steps 804-810) are repeated until the computation has converged or the maximum number of iterations is reached (step 812). The final displacement field is then used to transform the template image (step 814).

Once CPU 204 determines the transform from the synthesis equation fusing both landmark manifold information and image data, CPU 204 uses this transform to register the template image with the target image (step 380).

The spectrum of the second transformation, h, is highly concentrated around zero. This means that the spectrum mostly contains low frequency components. Using the sampling theorem, the transformation can be represented by a subsampled version provided that the sampling frequency is greater than the Nyquist frequency of the transformation. The computation may be accelerated by computing the transformation on a coarse grid and extending it to the full voxel lattice e.g., in the case of 3D images, by interpolation. The computational complexity of the algorithm is proportional to the dimension of the lattice on which the transformation is computed. Therefore, the computation acceleration equals the ratio of the full voxel lattice to the coarse computational lattice.

One of ordinary skill in the art will recognize that composing the landmark transformations followed by the elastic basis transformations, thereby applying the fusion methodology in sequence can provide an alternatively valid approach to hierarchial synthesis of landmark and image information in the segmentation.

Another way to increase the efficiency of the algorithm is to precompute the Green's functions and eigen functions of the operator L and store these precomputed values in a lookup table. These tables replace the computation of these functions at each iteration with a table lookup. This approach exploits the symmetry of Green's functions and eigen functions of the operator L so that very little computer memory is required. In the case of the Green's functions, the radial symmetry is exploited by precomputing the Green's function only along a radial direction.

The method described for fusing landmark information with the image data transformation can be extended from landmarks that are individual points (0-dimensional manifolds) to manifolds of dimensions 1, 2 and 3 corresponding to curves (1-dimensional), surfaces (2-dimensional) and subvolumes (3-dimensional).

For example, FIG. 4 shows a template image 400 of a section of a brain with 1-dimensional manifolds 402 and 404 corresponding to target image 406 1-dimensional manifolds 408 and 410 respectively. FIG. 5 shows a template image 500 of a section of a brain with 2-dimensional manifold 502 corresponding to target image 504 2-dimensional manifold 506. FIG. 6 shows a template image 600 of a section of a brain with 3-dimensional manifold 602 corresponding to target image 604 3-dimensional manifold 606.

As with the point landmarks, these higher dimensional manifolds condition the transformation, that is we assume that the vector field mapping the manifolds in the template to the data is given. Under this assumption the manually-assisted deformation (step 350, FIG. 3) becomes the equality-constrained Bayesian optimization problem: $\begin{matrix} {{u(x)} = {\arg {\min\limits_{u}{\int_{\Omega}{{{{Lu}(x)}}^{2}{x}}}}}} & (16) \end{matrix}$

subject to $\begin{matrix} {{{u(x)} = {k(x)}},\quad {x \in {\bigcup\limits_{i = 0}^{3}{{M(i)}.}}}} & (17) \end{matrix}$

If M(i) is a smooth manifold for i=0, 1, 2, 3, the solution to this minimization is unique satisfying L^(†)Lû(x)=0, for all template points in the selected manifold. This implies that the solution can be written in the form of a Fredholm integral equation: $\begin{matrix} {{{\hat{u}(x)} = {\int\limits_{\bigcup\limits_{i = 0}^{3}{M{(i)}}}{{K\left( {x,y} \right)}{\beta (y)}{{S(y)}}}}},\quad {{{where}\quad K} = {GG}^{\dagger}}} & (18) \end{matrix}$

and G the Green's function of L.

When the manifold is a sub-volume, M(3),dS is the Lebesgue measure on ³. For 2-dimensional surfaces, dS is the surface measure on M(2), For 1-dimensional manifolds (curves), dS is the line measure on M(1) and for point landmarks, M(0), dS is the atomic measure. For point landmarks, the Fredholm integral equation degenerates into a summation given by equation (10).

When the manifold of interest is a smooth, 2-dimensional surface, the solution satisfies the classical Dirichlet boundary value problem:

L ^(†) Lû(x)=0,∀xεΩ\M   (19)

The Dirichlet problem is solved using the method of successive over relaxation as follows. If u^(k)(x) is the estimate of a deformation field at the k^(th) iteration, the estimate at the (k+1)^(th) iteration is given by the following update equation:

u ^(k-1)(x)=u ^(k)(x)+αL, ^(†) Lu(x), xεΩ\M.

u ^(k-1)(x)=k(x), xεM,   (20)

where α is the over relaxation factor.

It is also possible to compute the transform (step 370) with rapid convergence by solving a series of linear minimization problems where the solution to the series of linear problems converges to the solution of the nonlinear problem. This avoids needing to solve the nonlinear minimization problem directly. Using a conjugate gradient method, the computation converges faster than a direct solution of the synthesis equation because the basis coefficients μ_(k) are updated with optimal step sizes.

Using the conjugate gradient, the displacement field is assumed to have the form $\begin{matrix} {{u(x)} = {{\sum\limits_{k + 0}^{d}{\mu_{k}{\phi_{k}(x)}}} + {f(x)}}} & (21) \end{matrix}$

where $\begin{matrix} {{f(x)} = {{\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}} + {Ax} + {b.}}} & (22) \end{matrix}$

Begin by assuming that f(x) is fixed. This is generalized below. The eigen functions in the expansion are all real and follow the assumption that {φ_(i) (x)} are ³ valued.

The minimization problem is solved by computing

μ_(j) ^(new)=μ_(j) ^(old)+Δ_(j) j=0 . . . d   (23)

to update the basis coefficients in equation (21) where μ_(j)=0, j=0 . . . d initially, Δ_(j) is computed using the equation $\begin{matrix} {{\Delta \quad j} = {\left( {{\int_{\Omega}{\left( {\sum\limits_{k = 0}^{d}{h_{k}(x)}} \right){h_{j}(x)}\quad {x}}} + \lambda_{j}^{2} + {\frac{1}{\sigma^{2}}{\sum\limits_{i = 1}^{N}{\theta_{jj}\left( x_{i} \right)}}}} \right)^{- 1}{\left( {{\int_{\Omega}{\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right){h_{j}(x)}\quad {x}}} + {\sum\limits_{i = 1}^{N}\beta_{i}} - {\phi_{j}\left( x_{i} \right)} + {\frac{1}{\sigma^{2}}{\sum\limits_{i = 1}^{N}{\left( {y_{i} - x_{i} + {u\left( x_{i} \right)}} \right) \cdot {\phi_{j}\left( x_{i} \right)}}}} + {\frac{1}{\sigma^{2}}{\sum\limits_{k = 0}^{j - 1}{\Delta \quad k{\sum\limits_{i = N}^{N}{\theta_{kj}\left( x_{i} \right)}}}}}} \right).}}} & (24) \end{matrix}$

where h_(i)(x)=∇T|_(x−u(x))·φ_(i)(x), and where θ_(ij)(x)=φ_(j)(x)·φ_(j)(x). The notation f·g is the inner-product, i.e., ${{f \cdot g} = {\sum\limits_{i = 1}^{3}{f_{i}g_{i}\quad {for}\quad f}}},{g \in {{\mathbb{R}}^{3}.}}$

Similarly, since u(x) is written in the series expansion given in equations (21) and (22), the identical formulation for updating β_(i) arises. Accordingly, the fusion achieved by the present invention results. Computation of equation (23) repeats until all Δ_(j) fall below a predetermined threshold solving for each Δ_(j) in sequence of increasing j, and Δ_(j) is computed using the values of Δ_(k) for 0≦k<j.

A further improvement over prior art image registration methods is achieved by computing the required transforms using fast Fourier transforms (FFT). Implementing an FFT based computation for image registration using a synthesis equation, as required at step 370 of FIG. 3, provides computational efficiency. However, to exploit the known computational efficiencies of FFT transforms, the solution of the synthesis equation must be recast to transform the inner products required by iterative algorithms into shift invariant convolutions.

To make the inner-products required by the iterative algorithms into shift invariant convolution, differential and difference operators are defined on a periodic version of the unit cube and the discrete lattice cube. Thus, the operators are made cyclo-stationary, implying their eigen functions are always of the form of complex exponentials on these cubes having the value: $\begin{matrix} {\Psi_{k}^{(r)} = {\begin{bmatrix} c_{1k}^{(r)} \\ c_{2k}^{(r)} \\ c_{3k}^{(r)} \end{bmatrix}\quad {^{j{\langle{\omega_{k}x}\rangle}}.}}} & (25) \end{matrix}$

r=1, 2, 3 with x=(x₁,x₂,x₃)ε[0, 1]³,

ω_(ki)=2πk_(i), i=1, 2, 3, with the Fourier basis for periodic functions on [0, 1]³ takes the form _(e)j<ω_(k)x>, <ω_(k)x>=ω_(k) ₁ x₁+ω_(k) ₂ x₂+ω_(k) ₃ x₃. _(k)=(ω_(k) ₁ , ω_(k) ₂ , ω_(k) ₃ ) On the discrete N³=periodic lattice, ${\omega_{k} = \left( {\frac{2\quad \pi \quad k_{1}}{N},\frac{2\quad \pi \quad k_{2}}{N},\frac{2\quad \pi \quad k_{3}}{N}} \right)},\quad {x \in {\left\{ {0,{{1\quad \ldots \quad N} - 1}} \right\}^{3}.}}$

For real expansions, the eigen vectors becomes φ_(k)(x)=Ψ_(k)(x)+Ψ_(k)*(x) and the real expansion in equation (21) becomes: $\begin{matrix} {{u(x)} = {\sum\limits_{k = 0}^{d}{\mu_{k}\left( {{\Psi_{k}(x)} + {\Psi_{k}^{*}(x)}} \right)}}} & (26) \end{matrix}$

where * means complex conjugate, and $0 < d \leq {\frac{N}{2}.}$

This reformulation supports an efficient implementation of the image registration process using the FFT. Specifically, if step 370 of FIG. 3, computing the registration transform fusing landmark and image data, is implemented using the conjugate gradient method, the computation will involve a series of inner products. Using the FFT exploits the structure of the eigen functions and the computational efficiency of the FFT to compute these inner-products.

For example, one form of a synthesis equation for executing Step 370 of FIG. 3 will include the following three terms: Term  1:  ∫_(Ω)(T(x − u(x)) − S(x))h_(j)(x)  x $\text{Term~~2:}\quad {\int_{\Omega}{\left( {\sum\limits_{k = 0}^{d}{h_{k}(x)}} \right)\quad {h_{j}(x)}\quad {x}}}$ ${\text{Term~~3:}\quad {u(x)}} = {\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}}$

Each of theses terms must be recast in a suitable form for FFT computation. One example of a proper reformulation for each of these terms is:

Term 1: $\begin{matrix} {{{\int_{\Omega}{\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right){{\nabla T} \cdot \left( {{\Psi_{i}^{r}(x)} + {\Psi_{i}^{{(r)}*}(x)}} \right)}{x}}} = {2{{Re}\left( {\int_{\Omega}{\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right)\left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)^{j{\langle{\omega_{k}x}\rangle}}{x}}} \right)}}},} & (27) \end{matrix}$

where c_(k)^((r)) = [c_(1k)^((r)), c_(2k)^((r)), c_(3k)^((r))]^(t).

This equation is computed for all k by a Fourier transformation of the function. $\begin{matrix} {\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right)\left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)} & (28) \end{matrix}$

and hence can be computed efficiently using a 3-D FFT.

Term 2: $\begin{matrix} {{\sum\limits_{r = 1}^{3}{\sum\limits_{k = 0}^{d}{\int{\left( {\Psi_{j}^{(r)} + \Psi_{j}^{{(r)}*}} \right)^{t}\left( {\nabla{T\left( {\nabla T} \right)}^{t}} \right)\left( {\Psi_{j}^{(r)} + \Psi_{j}^{{(r)}*}} \right){x}}}}} = {2{{Re}\left( {\sum\limits_{r = 1}^{3}{\sum\limits_{k = 0}^{d}{\left( c_{k}^{(r)} \right)^{t}\left( {\int_{\Omega}{\left( {\nabla{T\left( {\nabla T} \right)}^{t}} \right)^{\langle{\omega_{k} + {\omega_{t}x}}\rangle}{x}}} \right)}}} \right.}}} & (29) \end{matrix}$

The integral in the above summation for all k can be computed by Fourier transforming the elements of the 3×3 matrix:

∇T(∇T)^(t)   (30)

evaluated at ω_(k)+ω_(j). Because this matrix has diagonal symmetry, the nine FFTs in this reformulation of term 2 can be computed efficiently using six three dimensional FFTs evaluated at ω_(k)+ω_(j).

Term 3:

Using the exact form for the eigen functions we can rewrite the above equation as $\begin{matrix} {{u(x)} = {2{{{Re}\left( {\sum\limits_{r = 1}^{3}{\sum\limits_{k = 0}^{d}{{\mu_{k}^{(r)}\begin{bmatrix} c_{1k}^{(r)} \\ c_{2k}^{(r)} \\ c_{3k}^{(r)} \end{bmatrix}}\quad ^{j{\langle{\omega_{k}x}\rangle}}}}} \right)}.}}} & (31) \end{matrix}$

This summation is precisely the inverse Fourier transforms of the functions ${{\sum\limits_{r = 1}^{3}{\mu_{k}^{(r)}c_{t\quad k}^{(r)}\quad {for}\quad i}} = 1},2,3$

and hence can be computed efficiently by using a 3-D FFT.

One of ordinary skill in the art will recognize that restructuring the computation of registration transforms using FFTs will improve the performance of any image registration method having terms similar to those resulting from a synthesis equation fusing landmark and image data. Improvement results from the fact that many computer platforms compute FFTs efficiently; accordingly, reformulating the registration process as an FFT computation, makes the required computations feasible.

A distance function used to measure the disparity between images is the Gaussian square error distance ∫|T(x−u(x))−S(x)|²dx. There are many other forms of an appropriate distance measure. More generally, distance functions, such as the correlation distance, or the Kullback Liebler distance, can be written in the form ∫D(T(x−u(x)), S(x))dx.

An efficient convolution implementation can be derived using the FFT for arbitrary distance functions. Computing the fusing transform using the image data follows the equation: $\begin{matrix} \begin{matrix} {\hat{u} = \quad {{{{ar}g}{\min\limits_{u}{\gamma {\int_{\Omega}{{D\left( {{T\left( {x - {u(x)}} \right)},{S(x)}} \right)}{x}}}}}} +}} \\ {\quad {{\int_{\Omega}{{Lu}}^{2}} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} + {u\left( x_{i} \right)}}}^{2}}{\sigma_{i}^{2}}}}} \end{matrix} & (32) \end{matrix}$

where D(.,.) is a distance function relating points in the template and target images. The displacement field is assumed to have the form: $\begin{matrix} {{u(x)} = {{\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}} + {f(x)}}} & (33) \end{matrix}$

where $\begin{matrix} {{f(x)} = {b + {Ax} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}}}} & (34) \end{matrix}$

is fixed. The basis coefficients {μ_(k)} are determined by gradient descent, i.e., $\begin{matrix} {\mu_{k}^{({n + 1})} = {\mu_{k}^{(n)} - {\Delta \quad \frac{\left. {{\partial{{H\left( u^{(n)} \right.}}}S} \right)}{\partial\mu_{k}}}}} & (35) \end{matrix}$

where the gradient is computed using the chain rule and is given by the equation $\begin{matrix} {\frac{\partial{H\left( u^{(n)} \right)}}{\partial\mu_{k}} = {{\int_{\Omega}{{D^{\prime}\left( {{T\left( {x - {u^{(n)}(x)}} \right)},{S(x)}} \right)}{{\nabla{T\left( {x - {u^{(n)}(x)}} \right)}} \cdot {\phi_{k}(x)}}{x}}} + {\lambda_{k}^{2}\mu_{k}^{(n)}} + {\left( {2\quad {\sum\limits_{i = 1}^{N}\frac{y_{i} - x_{i} + {u^{(n)}\left( x_{i} \right)}}{\sigma_{i}^{2}}}} \right) \cdot {\phi_{k}(x)}}}} & (36) \end{matrix}$

where D′(.,.) is the derivative with respect to the first argument. The most computationally intensive aspect of the algorithm is the computation of the term ∫_(Ω)D^(′)(T(x − u^((n))(x)), S(x))∇T(x − u^((n))(x)) ⋅ ϕ_(k)(x)x

Using the structure of the eigen functions and the computational efficiency of the FFT to compute these inner-products, the above term can be written as $2{Re}{\int_{\Omega}{{D^{\prime}\left( {{T\left( {x - {u^{(n)}(x)}} \right)},{S(x)}} \right)}\left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)^{j{\langle{\omega_{k}x}\rangle}}{x}}}$

where

c_(k) ^((r))=[c_(1k) ^((r)), c_(2k) ^((r)), c_(3k) ^((r))]^(t). This equation is computed for all k by a Fourier transformation of the function ${D^{\prime}\left( {{T\left( {x - {u^{(n)}(x)}} \right)},{S(x)}} \right)}\left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)$

and hence can be computed efficiently using a 3-D FFT.

The following example illustrates the computational efficiencies achieved using FFTs for image registration instead of direct computation of inner-products. Assuming that a target image is discretized on a lattice having N³ points, each of the inner-products in the algorithm, if computed directly, would have a computational complexity of the order (N³)². Because the inner-products are computationally intensive, the overall complexity of image registration is also (N³)². In contrast, each of the FFTs proposed has a computational complexity on the order of N³log₂ N³. The speed up is given by the ratio N⁶/(N³log₂ N³)=N³/(3 log₂ N). Thus the speed up is 64 times for a 16×16×16 volume and greater than 3.2×10⁴ speed up for a 256×256×256 volume.

A further factor of two savings in computation time can be gained by exploiting the fact that all of the FFTs are real. Hence all of the FFTs can be computed with corresponding complex FFTs of half the number of points. For a development of the mathematics of FFTs see, A. V. Oppenheim and R. W. Schafer, Digital Signal Processing, Prentice-Hall, New Jersey, 1975 (hereinafter referred to as Oppenheim).

Alternative embodiments of the registration method described can be achieved by changing the boundary conditions of the operator. In the disclosed embodiment, the minimization problem is formulated with cyclic boundary conditions. One of ordinary skill in the art will recognize that alternative boundary conditions, such as the Dirichlet, Neumann, or mixed Dirichlet and Neumann boundary conditions are also suitable.

The following equation is used in an embodiment of the present invention using one set of mixed Dirichlet and Neumann boundary conditions: $\begin{matrix} {{\left. {{\frac{\partial u_{t}}{\partial x_{t}}}_{{{{{(x}}x_{i}} = k})} = {{u_{i}\left( xx_{j} \right.} = k}} \right) = 0}\quad {{{for}\quad i},{j = 1},2,{3;\quad {i \neq j};\quad {k = 0}},{1;}}} & (37) \end{matrix}$

where the notation (x|x_(i)=k) means x is in the template image such that x_(i)=k. In this case, the eigen functions would be of the form: $\begin{matrix} {{\phi_{k}^{(r)} = {{\begin{bmatrix} {C_{1k}^{(r)}\quad \cos \quad \omega_{k1}\quad x_{1}\quad \sin \quad \omega_{k2}\quad \sin \quad \omega_{k3}\quad x_{3}} \\ {C_{2k}^{(r)}\quad \sin \quad \omega_{k1}\quad x_{1}\quad \cos \quad \omega_{k2}\quad \sin \quad \omega_{k3}\quad x_{3}} \\ {C_{3k}^{(r)}\quad \sin \quad \omega_{k1}\quad x_{1}\quad \sin \quad \omega_{k2}\quad \cos \quad \omega_{{k3}\quad}\quad x_{3}} \end{bmatrix}\quad {for}\quad r} = 1}},2,3.} & (38) \end{matrix}$

Modifying boundary conditions requires modifying the butterflies of the FFT from complex exponentials to appropriate sines and cosines.

In FIG. 7, four images, template image 700, image 704, image 706, and target image 708, illustrate the sequence of registering a template image and a target image. Template image 700 has 0-dimensional landmark manifolds 702. Applying the landmark manifold transform computed at step 350 in FIG. 3 to image 700 produces image 704. Applying a second transform computed using the synthesis equation combining landmark manifolds and image data to image 700 produces image 706. Image 706 is the final result of registering template image 700 with target image 708. Landmark manifold 710 in image 708 corresponds to landmark manifold 702 in template image 700.

Turning now to techniques to register images which may possess large deformation characteristics using diffeomorphisms, large deformation transform functions and transformations capable of matching images where the changes from one image to the other are greater than small, linear, or affine. Use of large deformation transforms provide for the automatic calculation of tangents, curvature, surface areas, and geometric properties of the imagery.

2. Methods for Large Deformation Landmark Based and Image Based Transformations

An embodiment consistent with the present invention maps sets of landmarks in imagery {x_(i), i=1,2, . . . , N}⊂Ω into target landmarks {y_(i), i=1, . . . , N}, and or imagery I₀ into target I₁ both with and without landmarks. For example when there is a well-defined distance function D(u(T)) expressing the distance between the landmarks and or imagery. The large deformation maps h: Ω→Ω are constructed by introducing the time variable,

h:(x,t)=(x ₁ , x ₂ , x ₃ , t)εΩ×[0,T]→h(x,t)=(x ₁ −u ₁(x,t),x ₂ −u ₂(x,t),x ₃ −u ₃(x,t))εΩ.

The large deformation maps are constrained to be the solution h(x, T)=x−u(x, T) where u(x, T) is generated as the solution of the ordinary differential equation $\begin{matrix} {{{u\left( {x,T} \right)} = {\int_{0}^{T}{\left( {I - {\nabla{u\left( {x,t} \right)}}} \right){v\left( {x,t} \right)}{t}}}},\quad {{{where}\quad {v\left( {x,t} \right)}} = {\sum\limits_{k - 0}^{\infty}{v_{k}{\varphi_{k}\left( {x,t} \right)}}}},\quad {\left( {x,t} \right) \in {\Omega \quad {x\left\lbrack {0,T} \right\rbrack}}}} & (39) \end{matrix}$

assuming that the {φ_(k)} forms a complete orthonormal base.

A diffeomorphism for the landmark and image matching problem is given by the mapping of the imagery given by ĥ(x,T)=x−û(x,T) satisfying the Ordinary Differential Equation (O.D.E.) $\begin{matrix} {{{\hat{u}\left( {x,T} \right)} = {\int_{0}^{T}{\left( {I - {\nabla{\hat{u}\left( {x,t} \right)}}} \right)\hat{\quad v}\left( {x,t} \right){t}}}}\quad} & (40) \\ {{{{{where}\quad {\hat{v}\left( {x,t} \right)}} = \arg_{vi}},{{\min\limits_{{k = 1},\ldots}{\int_{0}^{\tau}{\int_{\Omega}{{{{Lv}\left( {x,t} \right)}}^{2}{x}\quad {t}}}}} + {{D\left( {u(T)} \right)}.}}}\quad} & (41) \end{matrix}$

L is preferably a linear differential operator with the φ_(k) forming a complete orthonormal base as the eigenfunctions Lφ_(k)=λ_(k)φ_(k).

2.1 Large Deformation Landmark Matching

In order to register images with large deformation using a landmark matching technique, N landmarks are identified in the two anatomies target {x_(i), y_(i), i=1, 2, . . . , N}. The landmarks are identified with varying degrees of accuracy {Σ_(i), i=1, . . . , N}, the Σ_(i), 3×3 covariance matrices. The distance between the target and template imagery landmarks is preferably defined as $\begin{matrix} {{D_{1}\left( {u(T)} \right)} = {\sum\limits_{i = 1}^{N}{\left( {y_{i} - x_{i} - {u\left( {x_{i},T} \right)}} \right){\sum\limits_{i}^{- 1}{\left( {y_{i} - x_{i} - {u\left( {x_{i},T} \right)}} \right).}}}}} & (42) \end{matrix}$

A preferable diffeomorphism is the minimizer of Eqns. 40, 41 with D(u(T)) the landmark distance: $\begin{matrix} {{\hat{u}\left( {x,T} \right)} = {\int_{0}^{T}{\left( {I - {\nabla{u\left( {x,t} \right)}}} \right)\hat{\quad v}\left( {x,t} \right){t}\quad {where}}}} & (43) \\ {{{\hat{v}\left( {x,t} \right)} = {\arg {\min\limits_{v_{k},{k = 1},\ldots}{\left( {{H\left( {u(T)} \right)} = {{\int_{0}^{\tau}{\int_{\Omega}{{{{Lv}\left( {x,t} \right)}}^{2}{x}\quad {t}}}} + {D_{1}\left( {u(T)} \right)}}} \right).}}}}\quad} & (44) \end{matrix}$

A method for registering images consistent with the present invention preferably includes the following steps:

STEP 0: Define a set of landmarks in the template which can be easily identified in the target {x_(i):x_(i)εΩ, i=1, 2, . . . , N} with varying degrees of accuracy in the target as {y_(i), i=1, . . . , N} with associated error covariance {Σ_(i), i=1, . . . , N}, and initialize for n=0, ν.=0.

STEP 1: Calculate velocity and deformation fields: $\begin{matrix} \begin{matrix} {{{v^{(n)}\left( {x,t} \right)} = \quad {\sum\limits_{k = 0}^{\infty}{v_{k}^{(n)}{\varphi_{k}\left( {x,t} \right)}}}},{u^{(n)}\left( {x,T} \right)}} \\ {= \quad {\int_{0}^{T}{\left( {I - {\nabla{u^{(n)}\left( {x,t} \right)}}} \right){v^{(n)}\left( {x,t} \right)}{{t}.}}}} \end{matrix} & (45) \end{matrix}$

STEP 2: Solve via a sequence of optimization problems from coarse to fine scale via estimation of the basis coefficients {ν_(k)}, analogous to multi-grid methods with the notion of refinement from coarse to fine accomplished by increasing the number of basis components. For each ν_(k), $\begin{matrix} {\begin{matrix} {v_{k}^{({n + 1})} = \quad {v_{k}^{(n)} - {\Delta \frac{\partial{H\left( v^{(n)} \right)}}{\partial v_{k}}}}} \\ {= \quad {v_{k}^{(n)} - {\Delta \left( {{\lambda_{k}^{2}v_{k}^{(n)}} = \frac{\partial{D\left( {u^{(n)}(T)} \right)}}{\partial v_{k}}} \right)}}} \end{matrix}{where}\quad \begin{matrix} {{(1)\quad \frac{\partial{D\left( {u(T)} \right)}}{\partial v_{k}}} = {{- 2}{\sum\limits_{i = 1}^{N}{\langle{{y_{i} - x_{i} - {u^{(n)}\left( {x,T} \right)}},\frac{\partial{u^{(n)}\left( {x,T} \right)}}{\partial\gamma_{k}}}\rangle}}}} \\ \begin{matrix} {{(2)\quad \frac{\partial{u^{(n)}\left( {x,T} \right)}}{\partial v_{k}}} = {{\int_{0}^{T}{\left( {I - {\nabla{u^{(n)}\left( {x,t} \right)}}} \right){\varphi_{k}\left( {x,t} \right)}{t}}} -}} \\ {\quad {\int_{0}^{T}{{\nabla\quad \frac{\partial{u^{(n)}\left( {x,t} \right)}}{\partial v_{k}}}\quad {v^{(n)}\left( {x,t} \right)}{{t}.}}}} \end{matrix} \end{matrix}} & (46) \end{matrix}$

STEP 3: Set n←n+1, and return to Step 1.

2.2 Large Deformation Image Matching

Turning now to the technique where a target and template image with large deformation are registered using the image matching technique. The distance between the target and template image is chosen in accordance with Eqn. 47. A diffeomorphic map is computed using an image transformation operator and image transformation boundary values relating the template image to the target image. Subsequently the template image is registered with the target image using the diffromorphic map.

Given two images I₀, I₁, choose the distance $\begin{matrix} {{D_{2}\left( {u(T)} \right)} \doteq {\gamma {\int_{{\lbrack{0,1}\rbrack}^{3}}{{{{I_{0}\left( {x - {u\left( {x,T} \right)}} \right)} - {I_{1}(x)}}}^{2}{{x}.}}}}} & (47) \end{matrix}$

The large deformation image distance driven map is constrained to be the solution ĥ(x,T)=x−û(x,T) where $\begin{matrix} {{\hat{u}\left( {x,T} \right)} = {\int_{o}^{T}{\left( {I - {\nabla{\hat{u}\left( {x,t} \right)}}} \right){\hat{v}\left( {x,t} \right)}{t}\quad {and}}}} & (48) \\ \begin{matrix} {{\hat{v}\left( {x,t} \right)} = \quad {\arg \quad \min\limits_{\{{{V:{v{({x,t})}}} = {\sum\limits_{k}{{vk}\quad \varphi \quad k}}}\}}}} \\ {\quad {\left( {{H(v)} \doteq {{\int_{o}^{T}{\int_{\Omega}{{{{Lv}\left( {x,t} \right)}}^{2}{x}{t}}}} + {D_{2}\left( {u(T)} \right)}}} \right).}} \end{matrix} & (49) \end{matrix}$

A method for registering images consistent with the present invention preferably includes the following steps:

STEP 0: Measure two images I₀, I₁ defined on the unit cube Ω≐[0,1]³⊂³, initialize parameters for n=0, ν_(k) ^((n))=0, k=0, 1, . . . , and define distance measure D(u(T)) Eqn. 47.

STEP 1: Calculate velocity and deformation fields from ν^((n)): $\begin{matrix} \begin{matrix} {{{v^{(n)}\left( {x,t} \right)} = {\sum\limits_{k = 0}^{\infty}{v_{k}^{(n)}{\varphi_{k}\left( {x,t} \right)}}}},{u^{(n)}\left( {x,T} \right)}} \\ {= {\int_{0}^{T}{\left( {I - {\nabla{u^{(n)}\left( {x,t} \right)}}} \right){v^{(n)}\left( {x,t} \right)}{{t}.}}}} \end{matrix} & (50) \end{matrix}$

STEP 2: Solve optimization via sequence of optimization problems from coarse to fine scale via re-estimation of the basis coefficients {ν_(k)}, analogous to multi-grid methods with the notion of refinement from coarse to fine accomplished by increasing the number of basis components. For each ν_(k), $\begin{matrix} {{v_{k}^{({n + 1})} \doteq {v_{k}^{(n)} - {\Delta \quad \frac{\partial{H\left( v^{(n)} \right)}}{\partial v_{k}}}}} = {v_{k}^{(n)} - {\Delta \left( {{\lambda_{k}^{2}v_{k}^{(n)}} + \frac{\partial{D\left( {u^{(n)}(T)} \right)}}{\partial v_{k}}} \right)}}} & (51) \end{matrix}$

where $\begin{matrix} \begin{matrix} {{\frac{\partial{D\left( {u(T)} \right)}}{\partial v_{k}}}_{u^{(n)}} = \quad {{- 2}\quad \gamma {\int_{\Omega}\left( {{I_{0}\left( {x - {u^{(n)}\left( {x,T} \right)}} \right)} -} \right.}}} \\ {\left. \quad {I_{1}(x)} \right){{\nabla_{u}{I_{0}\left( {x - {u^{(n)}\left( {x,T} \right)}} \right)}} \cdot \frac{\partial{u^{(n)}\left( {x,T} \right)}}{\partial v_{k}}}\quad {x}} \end{matrix} & (52) \end{matrix}$

STEP 3: Set n←n+1, and return to Step 1.

The velocity field can be constructed with various boundary conditions, for example ν(x,t)=0, xε∂Ω and tε[0, T], u(x, 0)=ν(x, 0)=0. The differential operator L can be chosen to be any in a class of linear differential operators; we have used operators of the form (−aΔ−b∇∇·+cI)^(p), p≧1. The operators are 3×3 matrices $\begin{matrix} {{\nabla^{T}u} = \begin{pmatrix} \frac{\partial u_{1}}{\partial x_{1}} & \frac{\partial u_{1}}{\partial x_{2}} & \frac{\partial u_{1}}{\partial x_{3}} \\ \frac{\partial u_{2}}{\partial x_{1}} & \frac{\partial u_{2}}{\partial x_{2}} & \frac{\partial u_{2}}{\partial x_{3}} \\ \frac{\partial u_{2}}{\partial x_{1}} & \frac{\partial u_{2}}{\partial x_{2}} & \frac{\partial u_{2}}{\partial x_{3}} \end{pmatrix}} & (53) \\ \begin{matrix} {L = {{{- a}\quad \Delta} - {b{{\nabla\nabla} \cdot {+ {cI}}}}}} \\ {= \begin{pmatrix} {{{- a}\quad \Delta} - {b\quad \frac{\partial^{2}}{\partial x_{1}^{2}}} + c} & {{- b}\quad \frac{\partial^{2}}{{\partial x_{1}}x_{2}}} & {{- b}\quad \frac{\partial^{2}}{{\partial x_{1}}x_{3}}} \\ {{- b}\quad \frac{\partial^{2}}{{\partial x_{2}}x_{1}}} & {{{- a}\quad \Delta} - {b\quad \frac{\partial^{2}}{\partial x_{2}^{2}}} + c} & {{- b}\quad \frac{\partial^{2}}{{\partial x_{2}}x_{3}}} \\ {{- b}\quad \frac{\partial^{2}}{{\partial x_{3}}x_{1}}} & {{- b}\quad \frac{\partial^{2}}{{\partial x_{3}}x_{2}}} & {{{- a}\quad \Delta} - {b\quad \frac{\partial^{2}}{\partial x_{3}^{2}}} + c} \end{pmatrix}} \end{matrix} & (54) \end{matrix}$

2.3 Small deformation solution

The large deformation computer algorithms can be related to the small deformation approach described in the '212 application, by choosing ν=u, so that T=δ small, then approximate I−∇u(·,σ)≈I for σε[0, δ), then û(x, δ)=ν(x)δ and defining u(x)≐u(x, δ), so that Eqn. 55 reduces to the small deformation problems described in the '212 patent. $\begin{matrix} {{\hat{u}(x)} = {{\arg \quad {\min\limits_{v_{n},{k = 1},\ldots}{\int_{\Omega}{{{{Lu}(x)}}^{2}{x}{t}}}}} + {{D(u)}.}}} & (55) \end{matrix}$

3. Composing Large Deformation Transformations Unifying Landmark and Image Matching

The approach for generating a hierarchical transformation combining information is to compose the large deformation transformations which are diffeomorphisms and can therefore be composed, h=h_(n) o . . . h₂ o h_(j). Various combinations of transformations may be chosen, including the affine motions, rigid motions generated from subgroups of the generalized linear group, large deformation landmark transformations which are diffeomorphisms, or the high dimensional large deformation image matching transformation (the dimension of the transformations of the vector fields have been listed in increasing order). Since these are all diffeomorphisms, they can be composed.

4. Fast Method for Landmark Deformations Given Small Numbers of Landmarks

For small numbers of landmarks, we re-parameterize the problem using the Lagrangian frame, discretizing the optimization over space time Ω×T, into N functions of time T. This reduces the complexity by an order of magnitude given by the imaging lattice [Ω].

For this, define the Lagrangian positions of the N-landmarks x_(i), i=1, . . . , N as they flow through time φ_(i)(·), i=1, . . . , N, with the associated 3N-vector $\begin{matrix} {{\Phi (t)} = \underset{\underset{3N \times 1}{}}{\begin{pmatrix} {\varphi \left( {X_{1},t} \right)} \\ {\varphi \left( {X_{2},t} \right)} \\ \cdots \\ {\varphi \left( {X_{N},t} \right)} \end{pmatrix}}} & (56) \end{matrix}$

The particle flows Φ(t) are defined by the velocities ν(·) according to the fundamental O.D.E. $\begin{matrix} {\frac{{\varphi \left( {t,x} \right)}}{t} = {{v\left( {{\varphi \left( {t,x} \right)},t} \right)}.}} & (57) \end{matrix}$

It is helpful to define the 3N×3N covariance matrix K(Φ(t)): $\begin{matrix} {{K\left( {\Phi (t)} \right)} \doteq \underset{\underset{3N \times 3N}{}}{\begin{pmatrix} {K\left( {{\varphi \left( {t,x_{1}} \right)},{\varphi \left( {t,x_{1}} \right)}} \right)} & {K\left( {{\varphi \left( {t,x_{1}} \right)},{\varphi \left( {t,x_{2}} \right)}} \right)} & \cdots & {K\left( {{\varphi \left( {t,x_{1}} \right)},{\varphi \left( {t,x_{N}} \right)}} \right)} \\ {K\left( {{\varphi \left( {t,x_{2}} \right)},{\varphi \left( {t,x_{1}} \right)}} \right)} & {K\left( {{\varphi \left( {t,x_{2}} \right)},{\varphi \left( {t,x_{2}} \right)}} \right)} & \cdots & {K\left( {{\varphi \left( {t,x_{2}} \right)},{\varphi \left( {t,x_{N}} \right)}} \right)} \\ \vdots & \vdots & \vdots & \vdots \\ {K\left( {{\varphi \left( {t,x_{N}} \right)},{\varphi \left( {t,x_{1}} \right)}} \right)} & {K\left( {{\varphi \left( {t,x_{N}} \right)},{\varphi \left( {t,x_{2}} \right)}} \right)} & \cdots & {K\left( {{\varphi \left( {t,x_{N}} \right)},{\varphi \left( {t,x_{N}} \right)}} \right)} \end{pmatrix}.}} & (58) \end{matrix}$

The inverse K(Φ(t))⁻¹ is an N×N matrix with 3×3 block entries (K(Φ(t))⁻¹)_(ij), i,j=1, . . . , N.

For the landmark matching problem, we are given N landmarks identified in the two anatomies target {x_(i), y_(i), i=1, 2, . . . , N}, identified with varying degrees of accuracy {Σ_(i,), i=1, . . . N}, the Σ_(i), 3×3 covariance matrices.

The squared error distance between the target and template imagery defined in the Lagrangian trajectories of the landmarks becomes $\begin{matrix} {{D_{1}\left( {\Phi (T)} \right)} \doteq {\sum\limits_{i = 1}^{N}{\left( {y_{i} - {\varphi \left( {T,x_{i}} \right)}} \right){{\Sigma_{1}^{- 1}\left( {y_{i} - {\varphi \left( {T,x_{i}} \right)}} \right)}.}}}} & (59) \end{matrix}$

Then a preferable diffeomorphism is the minimizer of Eqns. 40, 41 with D₁(Φ(T)) the landmark distance: $\begin{matrix} {{{\hat{v}( \cdot )} = {{\arg \quad {\min\limits_{v}{\int_{o}^{T}{\int_{\Omega}{{{{Lv}\left( {x,t} \right)}}^{2}{x}{t}}}}}} + {D_{1}\left( {\Phi (T)} \right)}}},} & (60) \\ {{{{where}\quad \varphi} \doteq \frac{{\varphi \left( {t,x} \right)}}{t}} = {v\left( {{\varphi \left( {t,x} \right)},t} \right)}} & (61) \end{matrix}$

A fast method for small numbers of Landmark matching points exploits the fact that when there are far fewer landmarks N than points in the image xεΩ, there is the following equivalent optimization problem in the N-Lagrangian velocity fields φ(x_(i), ·), I=1, . . . , N which is more computationally efficient than the optimization of the Eulerian velocity ν(x_(i), ·), xεΩ, (|Ω|>>N). Then, the equivalent optimization problem becomes $\begin{matrix} {{\hat{v}\left( {x,t} \right)} = {\sum\limits_{i = 1}^{N}{{K\left( {{\varphi \left( {t,x_{i}} \right)},x} \right)}{\sum\limits_{j = 1}^{N}{\left( {K\left( {\varphi (t)} \right)}^{- 1} \right)_{ij}{\varphi \left( {x_{j},t} \right)}}}}}} & (62) \\ \begin{matrix} {{{where}\quad \underset{{i = 1},\ldots,\quad N}{\varphi\left( {x_{i}, \cdot}\quad \right)}} \equiv \quad {\arg \quad {\min\limits_{\underset{{i = 1},\ldots,N}{\varphi {({x_{i},\quad \cdot})}}}{\int_{0}^{T}{\sum\limits_{ij}{{\varphi \left( {x_{i},t} \right)}\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}}}}}}} \\ {\quad {{{\varphi \left( {x_{j},t} \right)} + {D_{1}\left( {\Phi (T)} \right)}},}} \end{matrix} & (63) \\ {{{and}\quad {\hat{\varphi}\left( {x,T} \right)}} = {{\int_{0}^{T}{{\hat{v}\left( {{\hat{\varphi}\left( {x,t} \right)},\sigma} \right)}{\sigma}}} + {x.}}} & (64) \end{matrix}$

This reduces to a finite dimensional problem by defining the flows on the finite grid of times, assuming step-size δ with Lagrangian velocities piecewise constant within the quantized time intervals: $\begin{matrix} {{{\varphi \left( {x_{i},t} \right)} = \frac{{\varphi \left( {x_{i},{k\quad \delta}} \right)} - {\varphi \left( {x_{i},{\left( {k - 1} \right)\delta}} \right)}}{\delta}},{t \in \left\lbrack {{\left( {k - 1} \right)\delta},{k\quad \delta}} \right)},{k = 1},{\ldots \quad {T/{\delta.}}}} & (65) \end{matrix}$

Then the finite dimensional minimization problem becomes $\begin{matrix} {\underset{{k = 1},\ldots,{T/\delta}}{\underset{{i = 1},\ldots,N,}{\hat{\varphi}\left( {x_{i},k} \right)}} = \quad {\arg \quad {\min\limits_{\underset{{k = 1},\ldots,{T/\delta}}{\underset{{i = 1},\ldots,N}{\varphi {({x_{i},\quad k})}}}}{\frac{1}{\delta_{2}}\quad {\sum\limits_{k = 1}^{T/\delta}{\sum\limits_{{ij} = 1}^{N}\left( {{\varphi \left( {x_{i},k} \right)} - {\varphi \left( {x_{i},{k - 1}} \right)}} \right)^{T}}}}}}} \\ {\quad {\left( {\int_{{({k - 1})}\delta}^{k\quad \delta}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}{t}}} \right)\left( {{\varphi \left( {x_{j},k} \right)} - {\varphi \left( {{xj},k} \right)} +} \right.}} \\ {\quad {\sum\limits_{i = 1}^{N}{\left( {{\varphi \left( {x_{1},{T/\delta}} \right)} - y_{i}} \right)^{1}{\overset{- 1}{\sum\limits_{1}}\left( {{\varphi \left( {x_{i},{T/\delta}} \right)} - y_{i}} \right)}}}} \end{matrix}$

subject to: φ(x_(i), 0)=x_(i), i=1, . . . , N

The Method:

In order to properly register the template image with the target image when a small number of landmarks have been identified, the method of the present embodiment utilizes the Lagrangian positions. The method for registering images consistent with the present invention includes the following steps:

STEP 0: Define a set of landmarks in the template which can be easily identified in the target {x_(i):x_(i)εΩ, i=1,2, . . . , N}, with varying degrees of accuracy in the target as {y_(i), i=1, . . . , N} with associated error covariance {Σ_(i), i=1, . . . , N}, and initialize for n=0, φ^((n))(x_(i), ·)=x_(i).

STEP 1: Calculate velocity and deformation fields: $\begin{matrix} {{{\varphi^{(n)}\left( {x_{i},t} \right)} = \frac{{\varphi^{(n)}\left( {x_{i},{k\quad \delta}} \right)} - {\varphi^{(n)}\left( {x_{i},{\left( {k - 1} \right)\quad \delta}} \right)}}{\delta}},{t \in \left\lbrack {{\left( {k - 1} \right)\delta},{k\quad \delta}} \right)},{k = 1},{\ldots \quad {T/{\delta.}}}} & (66) \end{matrix}$

STEP 2: Solve via estimation of the Lagrangian positions φ(k),k=1, . . . , K. For each φ(x_(i), k), $\begin{matrix} \begin{matrix} {{\varphi^{({n + 1})}\left( {x_{i},k} \right)} = {{\varphi^{(n)}\left( {x_{i},k} \right)} - {\Delta \left( {\frac{\partial{P(\Phi)}}{\partial{\varphi \left( {x_{i},k} \right)}}{\Phi^{(n)} + \frac{\left. {{\partial{D(\Phi)}^{(n)}}(T)} \right)}{\partial{\varphi \left( {x_{i},k} \right)}}}} \right)}}} \\ {where} \\ \begin{matrix} (1) & {\frac{\partial{D\left( {\Phi (T)} \right)}}{\partial{\varphi \left( {x_{i},k} \right)}} = {{\delta \left\lbrack {k - {T/\delta}} \right\rbrack}\left( {{- {Zy}};{\sum\limits_{i}^{- 1}\quad \left( {{\varphi \left( {x_{i},T} \right)} - y_{i}} \right)}} \right)}} \\ (2) & \begin{matrix} {\frac{\partial{P^{(n)}(\Phi)}}{\partial{\varphi \left( {x_{i},k} \right)}} = \quad {\sum\limits_{j = 1}^{N}\left\lbrack {{- 2}\left( {{\varphi \left( {x_{j},{k + 1}} \right)} - {\varphi \left( {x_{j},k} \right)}} \right)} \right.}} \\ {\quad {{\int_{{(k)}\delta}^{{({k + 1})}\delta}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}{t}}} +}} \\ {\quad {{2\left( {{\Phi \left( {x_{j},k} \right)} - {\Phi \left( {x_{j},{k - 1}} \right)}} \right){\int_{({k - 1})}^{k\quad \delta}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}{t}}}} +}} \\ {{\quad \left. {\left( {x_{j},{k + 1}} \right) - {\varphi \left( {x_{j},k} \right)}} \right)}{\int_{{(k)}\delta}^{{({k + 1})}\delta}\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}}} \\ {\quad {\left( \frac{\left( \left. {{\partial{K(\Phi)}}(t)} \right) \right)^{- 1}}{\partial{\varphi \left( {x_{i},k} \right)}} \right)_{ij}\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}{t}}} \\ {\quad \left( {{\varphi \left( {x_{j},{k + 1}} \right)} - {\varphi \left( {x_{j},k} \right)}} \right.} \end{matrix} \end{matrix} \end{matrix} & (67) \end{matrix}$

STEP 3: Set n←n+1, and return to Step 1.

STEP 4: After stopping, then compute the optimal velocity field using equation 62 and transform using equation 64.

5. Fast Greedy Implementation of Large Deformation Image Matching

For the image matching, discretize space-time Ω×T into a sequence of indexed in time optimizations, solving for the locally optimal at each time transformation and then forward integrate the solution. This reduces the dimension of the optimization and allows for the use of Fourier transforms.

The transformation h(·, t):Ω→Ω where h(x, t)=x−u(x, t), and the transformation and velocity fields are related via the O.D.E. ${{v\left( {x,t} \right)} = {\frac{\partial{u\left( {x,t} \right)}}{\partial i} + {{\nabla{u\left( {x,t} \right)}}{v\left( {x,t} \right)}}}},{t \in \left\lbrack {0,T} \right\rbrack}$

Preferably the deformation fields are generated from the velocity fields assumed to be piecewise constant over quantized time increments, ν(x,i)=ν(x,t_(i+1)),tε[iδ,(i+1)δ, i=1, . . . I=T/δ, the quantized time increment. Then the sequence of deformations u(x,t₁),i=1, . . . I is given by $\begin{matrix} {{{u\left( {x,t_{i + 1}} \right)} = {{u\left( {x,t_{i}} \right)} + {{v\left( {x,t_{i}} \right)}\left( {\int_{ti}^{{ti} + 1}{\left( {I - {\nabla{u\left( {x,\sigma} \right)}}} \right){\sigma}}} \right)}}},{i =}\quad,\ldots \quad,{I.}} & (68) \end{matrix}$

For δ small, approximate ∇u(x,σ)=∇u(x,t_(i)),σε[t_(i),t_(i+1)], then the global optimization is solved via a sequence of locally optimal solutions according to for t_(i), I=1, . . . , I, $\begin{matrix} \begin{matrix} {{\hat{u}\left( {x,t_{t + 1}} \right)} = {{\hat{u}\left( {x,t_{i}} \right)} + {{\delta \left( {I - {\nabla^{T}{\hat{u}\left( {x,t_{i}} \right)}}} \right)}{\hat{v}\left( {x,t_{i}} \right)}}}} \\ {where} \\ \begin{matrix} {{\hat{v}\left( {x,t_{t + 1}} \right)} = \quad {\arg \quad \min\limits_{\{{{v_{k}:{v{({\cdot {,t_{i + 1}}})}}} = {\sum\limits_{k}{{vk}\quad {{\varphi k}{({\cdot {,T_{i + 1}}})}}}}}}}} \\ {\quad \left( {{H\left( {{v\left( t_{i + 1} \right)} \doteq {{\int_{\Omega}{{{{Lv}\left( {x,t_{i + 1}} \right)}}^{2}{x}}} + {D\left( {u\left( {\cdot {,t_{i + 1}}} \right)} \right)}}} \right)}.} \right.} \end{matrix} \end{matrix} & (69) \end{matrix}$

The sequence of locally optimal velocity fields {circumflex over (ν)}(x,t₁),i=1, . . . I satisfy the O.D.E.

L ^(†) L{circumflex over (ν)}(x,t ₁+1)=b(x,û(x,t _(i+1))) where û(x,t _(i+1))=û(x,t _(i))+δ(I−∇û(x,t _(i))){circumflex over (ν)}(x,t _(i)).   (70)

Examples of boundary conditions include ν(x,t)=0, xε∂Ω and tε[0,T] and L the linear differential operator L=−α∇²−b∇·∇+cI. The body force b(x−u(x,t)) is given by the variation of the distance D(u) with respect to the field at time t. The PDE is solved numerically (G. E. Christensen, R. D. Rabbitt, and M. I. Miller, “Deformable templates using large deformation kinematics,” IEEE Transactions on Image Processing, 5(10):1435-1447, October 1996 for details (hereinafter referred to as Christensen).

To solve for fields u(·, t_(i)) at each t_(i), expand the velocity fields Σ^(k)V_(k)(t_(i))φ_(k)(·). ν(·,t_(i))=Σ^(k)Vk(t_(i))φk(·). To make the inner-products required by the iterative algorithms into shift invariant convolution, force the differential and difference operators L to be defined on a periodic version of the unit cube Ω≐0,1]³ and the discrete lattice cube {0,1, . . . , N−1}³. f·g denotes the inner-product f·g=Σ³ _(i)=1 f_(i)g_(i) for f,gεR³. The operators are cyclo-stationary in space, implying their eigen functions are of the form of complex exponentials on these cubes: ${{{\varphi_{k}^{(d)}(x)} = {\begin{bmatrix} c_{1k}^{(d)} \\ c_{2k}^{(d)} \\ c_{3k}^{(d)} \end{bmatrix}^{j\quad {{wk} \cdot x}}}},{d = 1},2,{3\quad {with}}}\quad$ x = (x₁, x₂, x₃) ∈ [0, 1]³, w_(k) = (ω_(k1), ω_(k2), ω_(k3)), ω_(k) = 2  π  k_(i), i = 1, 2, 3,

and the Fourier basis for periodic functions on [0,1]³ takes the form e^(j<ω) _(k) ^(,x>),<ω_(k),x>=ω_(k1)x₁+ω_(k2)x₂+ω_(k3),x₃. On the discrete N³=periodic lattice, ${\omega_{k} = \left( {\frac{2\quad \pi \quad k_{1}}{N},\frac{2\quad \pi \quad k_{2}}{N},\frac{3\quad \pi \quad k_{3}}{N}} \right)},,{x \in {\left\{ {0,1,\ldots \quad,{N - 1}} \right\}^{3}.}}$

This supports an efficient implementation of the above algorithm exploiting the Fourier Transform (FFT).

Suppressing the d subscript on ν_(k,d) and the summation from d=1 to 3 for the rest of this section simplifies notation. The complex coefficients ν_(k)(t_(i))=α_(k)(t_(i))+b_(k)(t_(i)) have complex-conjugate symmetry because they are computed by taking the FFT of a real valued function as seen later in this section. In addition, the eigen functions have complex-conjugate symmetry due to the 2π periodicity of the complex exponentials. Using these two facts, it can be shown that the vector field $\begin{matrix} \begin{matrix} {{v\left( {x,t_{i}} \right)} = {\sum\limits_{k = 0}^{N - 1}{{v_{k}\left( t_{i} \right)}{\varphi_{k}(x)}}}} \\ {= {{2{\sum\limits_{k = 0}^{{N/2} - 1}{{a_{k}\left( t_{i} \right)}{Re}\left\{ {\varphi_{k}(x)} \right\}}}} - {{b_{k}\left( t_{i} \right)}{Im}\left\{ {\varphi_{k}(x)} \right\}}}} \end{matrix} & (71) \end{matrix}$

is R³ valued even though both ν_(k)(t_(i)) and Φ_(k)(x) are complex valued. The minimization problem is solved by computing for each v_(k)=a_(k)+b_(k), $\begin{matrix} {\begin{matrix} {g_{k}^{({n + 1})} \doteq \quad {g_{n}^{(n)} - {\Delta \quad \frac{\partial{H\left( {v^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}}}}} \\ {= \quad {g_{k}^{(n)} - {\Delta \left( {{\lambda_{k}^{2}g_{k}^{(n)}} + \frac{\partial{D\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}}} \right)}}} \end{matrix}{where}\begin{matrix} {\frac{\partial{D\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}} = \quad {{- 2}\quad \gamma {\int_{\Omega}\left( {{I_{0}\left( {x - {u^{(n)}\left( {x,t_{i}} \right)}} \right)} -} \right.}}} \\ {{\quad \left. {I_{1}(x)} \right)}{{\nabla_{u}{I_{0}\left( {x - {u^{(n)}\left( {x,t_{i}} \right)}} \right)}} \cdot \frac{\partial{u^{(n)}\left( {x,t_{i}} \right)}}{\partial g_{k}}}\quad {x}} \end{matrix}} & (72) \end{matrix}$

and g_(k)ε{α_(k), b_(k)}. Combining Eqs. 70 and 71 and taking derivatives gives $\begin{matrix} \begin{matrix} {\frac{\partial{u^{(n)}\left( {x,t_{i}} \right)}}{\partial a_{k}} = {2\quad {\delta \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}{Re}\left\{ {\varphi_{k}(x)} \right\}}} \\ {\frac{\partial{u^{(n)}\left( {x,t_{i}} \right)}}{\partial b_{k}} = {{- 2}\quad {\delta \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}{Im}{\left\{ {\varphi_{k}(x)} \right\}.}}} \end{matrix} & (73) \end{matrix}$

Consider the computation of the following terms of the algorithm from equations 73, Term   1:  ∫_(Ω)(I_(o)(x − u(x, t_(i))) − I₁(x))∇_(u)I_(o)_(x − u(x, t_(i))) ⋅ (I − ∇u(x, t_(i)))φ_(k)(x)x, Term   2: ${{v\left( {x,t_{i}} \right)} = {\sum\limits_{k = 0}^{N - 1}{\sum\limits_{d = 1}^{3}v_{k}}}},{{d\left( t_{i} \right)}{\varphi_{k}^{(d)}(x)}}$

Computation of Term 1:

The first term given by $\begin{matrix} {{{\left. {{\theta \left( t_{i} \right)} = \quad {{\int_{\Omega}{\sum\limits_{d = 1}^{3}\left( {{I_{0}\left( {x - u} \right)}\left( {x_{i},t_{i}} \right)} \right)}} - {I_{1}(x)}}} \right){\nabla I_{0}}}}_{x - {u{({x,t_{i}})}}} \cdot} \\ {\quad {{\left( {I - {\nabla_{u}\left( {x,t_{i}} \right)}} \right){\varphi_{k}^{(d)}(x)}{x}},}} \end{matrix}$

can be written as $\begin{matrix} {{{\left. {{\theta \left( t_{i} \right)} = \quad {{\int_{\Omega}{\sum\limits_{d = 1}^{3}\left( {{I_{0}\left( {x - u} \right)}\left( {x,t_{i}} \right)} \right)}} - {I_{1}(x)}}} \right){\nabla I_{o}}}}_{x - {u{({x,t_{i}})}}} \cdot} \\ {\quad {{\left( {I - {\nabla_{u}\left( {x,t_{i}} \right)}} \right)\begin{bmatrix} c_{1k}^{(d)} \\ c_{2k}^{(d)} \\ c_{3k}^{(d)} \end{bmatrix}}^{{j\omega}\quad {k \cdot x}}{x}}} \end{matrix}$

This equation can be computed efficiently using three 3D FFTs of the form $\begin{matrix} \begin{matrix} {\theta_{s},{\left( t_{i} \right) = {\int_{\Omega}{{f_{s}\left( {x,t_{i}} \right)}^{{j\omega}\quad {b \cdot x}}{x}}}}} \\ {where} \end{matrix} \\ {{f_{3}\left( {x,\quad t_{i}} \right)} = \left\lbrack \quad \left. {\sum\limits_{d = 1}^{3}{\left( {{I_{0}\left( {x - {u\left( {x,t_{i}} \right)}} \right)} - {I_{1}(x)}} \right)\quad {\nabla I_{0}}}} \middle| {}_{x - {u{({x,t_{i}})}}}{{\cdot \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}c_{3k}^{(d)}} \right. \right\rbrack} \end{matrix}$

and s=1,2,3. These FFTs are used to evaluate Eq. 72 by noticing: $\left\lbrack \frac{\partial{d\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}} \right\rbrack,{= {{{- 4}\gamma \quad R\quad e\left\{ {\theta,\left( t_{i} \right)} \right\} \quad {{and}\quad\left\lbrack \frac{\partial{d\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial b_{k}} \right\rbrack}_{3}} = {4{\gamma Im}{\left\{ {\theta_{s},\left( t_{i} \right)} \right\}.}}}}$

Computation of Term 2:

The second term given by $\begin{matrix} {{v\left( {x,t_{i}} \right)} = {{\sum\limits_{k = 0}^{N - 1}{\sum\limits_{d = 1}^{3}{{v_{k,d}\left( t_{i} \right)}{\varphi_{k}^{(d)}(x)}}}} = {\sum\limits_{k = 0}^{N - 1}{\sum\limits_{d = 1}^{3}{{{v_{k,d}\left( t_{i} \right)}\begin{bmatrix} c_{1k}^{(d)} \\ c_{2k}^{(d)} \\ c_{3k}^{(d)} \end{bmatrix}}^{{j\omega}_{k} \cdot x}}}}}} & (74) \end{matrix}$

can be computed efficiently using three 3D FFTs. Specifically the 3D FFTs are $\begin{matrix} {{{v_{s}\left( {x,t_{i}} \right)} = {\sum\limits_{k = 0}^{N - 1}{{h_{i}\left( {k,t_{i}} \right)}^{{j\omega}_{k} \cdot x}}}}{{{{for}\quad s} = 1},2,{{3\quad {and}\quad {h_{i}\left( {k,t_{i}} \right)}} = {\sum\limits_{d = 1}^{3}{{v_{k,d}\left( t_{i} \right)}{c_{3k}^{(d)}.}}}}}} & (75) \end{matrix}$

Using the FFT to compute the terms in the method provides a substantial decrease in computation time over brute force computation. For example, suppose that one wanted to process 256³ voxel data volumes. The number of iterations is the same in both the FFT and brute force computation methods and therefore does not contribute to our present calculation. For each 3D summation in the method, the brute force computation requires on the order N⁶ computations while the FFT requires on the order 3N³log₂(N) computations. For N³=256³ voxel data volumes this provides approximately a 7×10⁵ speed up for the FFT algorithm compared to brute force calculation.

6. Rapid Convergence Algorithm for Large Deformation Volume Transformation

Faster converging algorithms than gradient descent exist such as the conjugate gradient method for which the basis coefficients ν_(k) are updated with optimal step sizes.

The identical approach using FFTs follows as in the '212 patent. Identical speed-ups can be accomplished; see the '212 patent.

6.1 An extension to general distance functions

Thus far only the Gaussian distance function has been described measuring the disparity between imagery has been described as |I₀(x−u(x))−I₁(x)|²dx . More general distance functions can be written asA wide variety of distance functions are useful for the present invention such as the correlation distance, or the Kullback Liebler distance can be written in this form.

6.2 Computational Complexity

The computational complexity of the methods herein described is reduced compared to direct computation of the inner-products. Assuming that the image is discretized on a lattice of size N³ each of the inner-products in the algorithm, if computed directly, would have a computational complexity of O(N³)²). As the inner-products are most computationally intensive, the overall complexity of the method is O((N³)²). Now in contrast, each of the FFTs proposed have a computational complexity of O(N³log₂N³), and hence the total complexity of the proposed algorithm is O(N³log₂ N³). The speed up is given by the ratio N⁶/(N³log2 N³)=N³/(3 log₂ N). Thus the speed up is 64 times for 16×16×16 volume and greater than 3.2×10⁴ speed up for a 256×256×256 volume.

A further factor of two savings in computation time can be gained by exploiting the fact that all of the FFTs are real. Hence all of the FFTs can be computed with corresponding complex FFTs of half the number of points (see Oppenheim).

6.3 Boundary Conditions of the Operator

Additional methods similar to the one just described can be synthesized by changing the boundary conditions of the operator. In the previous section, the minimization problem was formulated with cyclic boundary conditions. Alternatively, the mixed Dirichlet and Neumann boundary conditions can be used corresponding to where the notation (x|x_(i)=k) means xεΩ such that x_(i)=k. In this case the eigen functions would be of the form ${\varphi_{k}^{(d)} = {{\begin{bmatrix} {c_{1k}^{(d)}\cos \quad \omega_{k1}x_{1}} & {\sin \quad \omega_{k2}x_{2}} & {\sin \quad \omega_{k3}x_{2}} \\ {c_{2k}^{(d)}\sin \quad \omega_{k1}x_{1}} & {\cos \quad \omega_{k2}x_{2}} & {\sin \quad \omega_{k3}x_{3}} \\ {c_{3k}^{(d)}\sin \quad \omega_{k1}x_{1}} & {\sin \quad \omega_{k2}x_{2}} & {\cos \quad \omega_{k3}x_{3}} \end{bmatrix}\quad {for}\quad d} = 1}},2,3$

The implementation presented in Section 5 is modified for different boundary conditions by modifying the butterflys of the FFT from complex exponentials to appropriate sines and cosines.

7. Apparatus for Image Registration

FIG. 2 shows an apparatus to carry out an embodiment of this invention. A medial imaging scanner 214 obtains image 100 and 120 and stores them in computer memory 206 which is connected to computer control processing unit (CPU) 204. One of the ordinary skill in the art will recognize that a parallel computer platform having multiple CPUs is also a suitable hardware platform for the present invention, including, but not limited to, massively parallel machines and workstations with multiple processors. Computer memory 206 can be directly connected to CPU 204, or this memory can be remotely connected through a communications network.

The methods described herein use information either provided by an operator, stored as defaults, or determined automatically about the various substructures of the template and the target, and varying degrees of knowledge about these substructures derived from anatomical imagery, acquired from modalities like CT, MRI, functional MRI, PET, ultrasound, SPECT, MEG, EEG, or cryosection. For example, an operator can guide cursor 210 using pointing device 208 to select in image 100.

The foregoing description of the preferred embodiments of the present invention has been provided for the purpose of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously many modifications, variations and simple derivations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents. 

What is claimed is:
 1. A method for registering images comprising: selecting a template image; selecting a target image, wherein at least one image point contained in said target image corresponds to at least one image point in said template image; defining a distance function that expresses a distance between said template image and target image; and registering said template image and said target image as a function of the distance using a large deformation registration function that incorporates said at least one image point contained in said target image and said at least one image point in said template image.
 2. An apparatus for registering images comprising: means for selecting a template image; means for selecting a target image, wherein at least one image point contained in said target image corresponds to at least one image point in said template image; defining a distance function that expresses a distance between said template image and target image; and means for registering said template image and said target image as a function of the distance using a large deformation registration function that incorporates said at least one image point contained in said target image and said at least one image point in said template image.
 3. An apparatus for registering images comprising: a template image selector; a target image selector, wherein at least one image point contained in said target image corresponds to at least one image point in said template image; defining a distance function that expresses a distance between said template image and target image; and a registration processor for registering said template image and said target image as a function of the distance using a large deformation registration function that incorporates said at least one image point contained in said target image and said at least one image point in said template image.
 4. An article of manufacture for registering images comprising: a template image selector module configured to cause a computer to select a template image; a target image selector module configured to cause the computer to select a target image, where at least one image point contained in said target image corresponds to at least one image point in said template image; defining a distance function that expresses a distance between said template image and target image; and a registration module configured to cause the computer to register said template image and said target image as a function of the distance using a large deformation registration function that incorporates said at least one image point contained in said target image and said at least one image point in said template image. 